import { createWebHistory, createRouter, RouteRecordRaw } from 'vue-router';
import Nprogress from 'nprogress';
import 'nprogress/nprogress.css';

const routes: Array<RouteRecordRaw> = [];
// import.meta.glob 为 vite 提供的特殊导入方式
// 它可以将模块中全部内容导入并返回一个Record对象
// 默认为懒加载模式 加入配置项 eager 取消懒加载
const modules: Record<string, { default: RouteRecordRaw }> = import.meta.glob(['./modules/*.ts'], {
	eager: true
});
console.log(modules);

Object.keys(modules).forEach((key) => {
	routes.push(modules[key].default);
});

const router = createRouter({
	history: createWebHistory(),
	routes
});

router.beforeEach((_to, _from, next) => {
	Nprogress.start();
	next();
});

router.afterEach(() => {
	Nprogress.done();
});

export default router;
